/*
 * 文件名: CountDownTimer.java
 * 版    权：  Copyright PingAn Technology All Rights Reserved.
 * 描    述: [该类的简要描述]
 * 创建人: EX-HUXINWU001
 * 创建时间: 2012-2-27
 * 
 * 修改人：
 * 修改时间:
 * 修改内容：[修改内容]
 */
package app.widget;

import android.os.CountDownTimer;
import app.log.APPLog;


/**
 * @author EX-HUXINWU001
 * @date 2012-2-27
 * @version [Android PABank C01, @2012-2-27]
 * @description 倒计时类
 */
public class PADownTimer {

	/**
	 * 日志对象
	 */
	private final String TAG = PADownTimer.class.getSimpleName();
	/**
	 * 倒计时对象
	 */
	private CountDownTimer mCountDownTimer;
	/**
	 * 倒计时监听
	 */
	private PADownTimerListener listener;
	

	/**
	 * [开始倒计时功能]<BR>
	 * [倒计为time长的时间，时间间隔为每秒]
	 * @param time
	 */
	public void startDown(long time)
	{
		startDown(time, 1000);
	}
	
	/**
	 * [一句话功能简述]<BR>
	 * [倒计为time长的时间，时间间隔为mills]
	 * @param time
	 * @param mills
	 */
	public void startDown(long time, long mills)
	{
		mCountDownTimer = new CountDownTimer(time, mills)
		{
			@Override
			public void onTick(long millisUntilFinished) {
				if(listener != null){
					listener.onTick(millisUntilFinished);
				}else{
					APPLog.e(TAG, "PADownTimerListener 监听不能为空");
				}
			}

			@Override
			public void onFinish() {
				if(listener != null){
					listener.onFinish();
				}else{
					APPLog.e(TAG, "PADownTimerListener 监听不能为空");
				}
				if(mCountDownTimer != null)mCountDownTimer.cancel();
			}
			
		}.start();
	}
	
	/**
	 * [停止倒计时功能]<BR>
	 * [功能详细描述]
	 */
	public void stopDown(){
		if(mCountDownTimer != null)mCountDownTimer.cancel();
	}
	
	/**
	 * [设置倒计时监听]<BR>
	 * [功能详细描述]
	 * @param listener
	 */
	public void setListener(PADownTimerListener listener) {
		this.listener = listener;
	}
}

